home *** CD-ROM | disk | FTP | other *** search
-
-
- History of CrossWord Program
- ============================
-
- This file contains such information as where the source files lie,
- where the various data files lie etc. It also details how the program was
- developed.
-
-
- 20/1/91 : First code written based upon my own standard Intuition applica-
- tion header file, new_applic.s, which contains menu and gadget
- handling code. For version 2.0 I will split gadget handling so
- that different routines handle GADGIMMEDIATE and RELVERIFY gad-
- gets.
-
- 2/2/91 : First code written for generating crossword grid. Includes the
- setting up of synthetic RastPort, RasInfo and TmpRas for the
- crossword grid bitmap. See SOURCE2:SOURCE/CrossWord.s for the
- equates defining grid sizes and the rastport code.
-
- 15/2/91 : Written full menu handler. Some routines tied to menus yet to be
- written, such as code for the New Crossword and Access Disc menu
- items. Code to fill grid written.
-
- 27/2/91 : Mouse handler begun. Also first point at which program written to
- handle two different crossword grid types.
-
- 4/3/91 : Mouse handler debugged for grid handling. Can now change squares
- on both types of grid, and draw grid square sequences.
-
- 12/3/91 : Code written for scroll gadgets on main screen. Yet to be debug-
- ged.
-
- 17/3/91 : Code written for coordinate position info boxes to right of grid.
-
- 26/3/91 : Code written for requester handling using my own custom requester
- data structure (requester handler block, rhb_).
-
- 2/4/91 : Requester handler code debugged (apart from minor precode bug).
-
- 11/4/91 : New crossword requester designed & set up.
-
- 14/4/91 : Fancy images for menus finally designed & agreed upon. Integra-
- ted into menus. They work first time!
-
- 29/4/91 : Scroll gadget code for new crossword requester written & debug-
- ged. Begin debugging main screen scroll gadgets.
-
- 12/5/91 : Main screen gadgets debugged.
-
- 2/6/91 : Bit of a lull while I indulge in some birdwatching. Now I write
- the code to allow clue lists to be set up and manipulated.
-
- 18/6/91 : Clue list input requester code written, graphics designed & im-
- ported. Still to sort out the rhb_precode bug in HandleRequest()
- to call ActivateGadget() on the clue question input gadget.
-
- 7/7/91 : Clue lists mostly debugged. Seem to work for now.
-
- 17/7/91 : Begin working on solution input. Use similar requester to clue
- question input. Not much work to do for the basic requester, but
- printing clue question not in yet.
-
- 24/7/91 : Begin writing code to take clue question from clue lists, and
- format the text for pretty-printing within the solution input
- requester. This takes quite some time!
-
- 12/8/91 : Debug the pretty-printer (but it's still not ideal-I just happen
- to be fussy about such things).
-
- 17/8/91 : Debug solution input for BOTH crossword grid types. Big headache!
-
- 22/8/91 : Cure a bug lurking in the main screen scroll gadgets (sometimes
- tried to display a grid starting at square position (0.0) at the
- top left corner, when (1,1) was the minimum legal value).
-
- 25/8/91 : Begin writing InfoRequesters and QueryRequesters.
-
- 27/8/91 : InfoRequesters fully debugged. Ditto QueryRequesters. These are
- to become known in CrossWord.Doc as the dreaded green boxes!
-
- 31/8/91 : Written the HELP function. Also written code for extra help via
- function keys F1-F5. Works first time!
-
- 1/9/91 : Bought 512K RAM expansion because I ran out of memory on a base
- 512K Amiga while assembling it! Makes life beautiful from this
- point on, because it's got a disable switch to allow me to test
- if the assembled program still works in 512K.
-
- 4/9/91 : Write the BIG Disc Access Panel. Design gadgets, link them in,
- write routine to create sorted directory listing.
-
- 6/9/91 : Sorted directory fully debugged. So are disc selector gadgets.
-
- 8/9/91 : Function gadgets debugged. Now they act like proper Radio But-
- tons (GEM users on STs will know what I mean).
-
- 10/9/91 : Enact and Cancel gadgets debugged. Now I can call up disc func-
- tions.
-
- 14/9/91 : Rename, Delete, Parent and Make Dir all work.
-
- 16/9/91 : Save now works (but see later!). Created IFF format file for the
- program.
-
- 19/9/91 : Load and all of the disc error messages work.
-
- 21/9/91 : Format finally works (after a fashion). This one was HARD.
-
- 23/9/91 : Find a bug in clue question display for solution input requester.
- If there's no clue question, the last valid one is left on the
- requester. Write code to stop this. Now space is left blank if
- there's no clue question for the picked clue.
-
- 25/9/91 : Find a bug in clue picking. Won't pick clue properly if user hits
- square (1,1) or the 1st square of a clue. Fixed it.
-
- 27/9/91 : Introduce Guide String in solution input requester to give user
- some idea what the solution should look like.
-
- 29/9/91 : Allow user to enter white space, hyphens & other punctuation marks
- into the solution. Program strips them out properly now.
-
- 30/9/91 : Found bug in IFF Save. If no clue question, then 2 extra bytes are
- allocated for the file, but not written. Chunk size therefore is
- WRONG. Fixed it. Still loads previous IFF files with clues-they're
- not affected.
-
- 1/10/91 : Lull because I'm happy with it.
-
- 18/11/91 : Hit a couple of minor niggles. Still not happy with Format (if a
- completely dud disc is inserted, then WorkBench screen pops to
- front & displays system requester). Try to stop this by forcing
- user to insert disc then hit mouse button while trackdisk is
- locked. Still not 100% ecstatic about it but it's better than
- before.
-
- 19/11/91 : As of now, I think it's ready to surprise the big wide world with!
- Amiga Format coverdisc, here I come! (???). Prepare some example
- crosswords to send off with it, plus the CrossWord.Doc file and a
- couple of other files. Also prepare to send a copy to Mark Meany
- of ACC for beta-testing (see if he can break it!) along with cover
- letter telling him NOT to spread it as it's NOT PD!
-
- 31/1/92 : Received beta-test report. Works on :
-
- A500 V1.2 + 512K expansion, 2 drives
-
- A500 V1.3 + 512K expansion, 2 drives
-
- A500+ V2.0, 1.5MB CHIP RAM, 3 drives
-
- Thanks Mark!
-
- Things he's happy with:
-
- HELP feature. He loves it!
-
- Menu graphics - but welcomes the on-line HELP
- as he hasn't yet learned all of the functions!
-
- Quibbles:
-
- Sporadic failure of inforequester to respond to
- left mouse button (particularly after a HELP
- session)
-
- Inability to replace accidentally erased letter
- without re-entering a solution
-
- Intend gadget handling rewrite to cure the Inforequester problem.
-
- 1/2/92 : Added a "Grid Editing ON/OFF" switch to prevent accidental corrup-
- tion of the grid once editing was complete, to cover one of Mark's
- minor quibbles. Also, GADGET HANDLING NOW REDESIGNED FROM SCRATCH
- and now handles GADGIMMEDIATE/RELVERIFY via separate event handler
- code! What's more, it works!
-
- Gadget handling rewrite DOESN'T affect Inforequester problem (yet)
- but I know what's needed. Now that GADGIMMEDIATE/RELVERIFY are on
- different event handlers, simply make the HELP feature for gadgets
- apply to the RELVERIFY half of the gadget handling. Will do this
- A.S.A.P. Other than that (and adding a minor feature to the grand
- Disc Access Panel) it's ready to ship!
-
- 6/2/92 : InfoRequester problem mostly cured. Matter of making it unlock if
- lock is set at start. Now occasionally 2 LMB presses needed, and I
- think I can stop that too...
-
- Implemented Undo Array for grid squares to allow mouse editing to
- recover letters accidentally erased. Now remembers ALL of those
- squares with letters in, so that if several are erased, they can
- all be recovered. So far, also works for continuous erase/redraw
- using mouse button held down (but not EXHAUSTIVELY tested!).
-
- 14/2/92 : Mark's 2nd report. Quibbles this time include:
-
- Tidier handling when no clue list exists. Give user the
- option of building the clue list at this point.
-
- Building a clue list with a completely empty grid is a
- waste of time-don't let user do it...
-
- If a clue list exists, signal to user that building a
- new one will destroy the old one.
-
- Also, warn about wiping solutions from the grid.
-
- Also, check the problem with 'rubout solution' if
- there are no solutions in the grid.
-
- The format problem again. Major headache, this one.
-
- Will try and cure them A.S.A.P.
-
- 25/2/92 : Tried curing the font switch problem. Somehow the CLI FF command
- buggers up font handling if I change the CLI's font, and hence I
- can't get CrossWord to go back to the Topaz80 font even if I use
- all of the routines AND alter all of the TextAttr pointers in the
- IntuiTexts!
-
- 27/2/92 : Started moving on to Mark's final gripe list. Warning requesters
- now exist for Delete and Format.
-
- 14/9/92 : PANIC STATIONS!!!! Unpredictable crash if trying to make a new
- grid from startup, especially if it's a huge grid. Attempted to
- halt MOUSEMOVE messages and temporarily kill REPORTMOUSE for the
- main window, but this doesn't stop the problem. Apart from this,
- the grid filling routines are just TOO SLOW. A rewrite is in or-
- der.
-
- 19/9/92 : After a LOT of agonising, the bug is found. Forgot to resize the
- Undo array when changing grid size. This is why it crashed. The
- Undo initialiser scribbled all over whatever followed the origi-
- nal Undo array and this caused ALL SORTS of hassle-Intuition bad
- IDCMP gurus, weird FreeMem() twice gurus, and crashes that MonAm
- couldn't catch (because MonAm sometimes got scribbled all over as
- well!).
-
- Now Undo array resized properly. Also use AvailMem() to make sure
- I've got enough memory prior to grid resizing. If not, old grid
- is kept and an Inforeq popped up to tell user to get rid of other
- tasks running alongsied CrossWord.
-
- Now all I have to do is sort out the Format problem and the font
- problem.
-
-
-
- Files Used
- ==========
-
- VOL21: Development files to test user interface.
- CrossV3/CWNewReq/CWDiscReq etc.
-
- VOL14: Directory:menuimages/crossword
-
- All of the fancy menu image files created for the
- program. these all have names such as M_AD_70x40_R
- meaning 'menu, access disc, size 70x40 pixels,
- render image', or M_BF_60x40_S meaning 'menu, black
- fill grid, size 60x40 pixels, select image'. There
- is a _R and a _S image for each menu item. The full
- list includes:
-
- M_AC : Add Clue To List
- M_AD : Access Disc
- M_BF : Black Fill Grid
- M_CG : Clear Solutions From grid
- M_EC : Erase Clue From List
- M_ES : Enter Solutions
- M_ML : Make Clue List
- M_NG : New Grid
- M_QP : Quit Program
- M_RS : Rubout Solutions
- M_WF : White Fill Grid
-
- Version 2.0 will include menu items to maintain a
- lookup dictionary that can be edited by the user.
- Also, the gadget handling will be tidied up, and
- the HELP facility will be extended to ALL gadgets
- regardless of where they are.
-
- Directory:gadgets
-
- All of the gadgets I designed for various functions
- including the Disc Access Panel gadgets. These live
- in subdirectories such as /cursors, /switches,
- /buttons, /boxes, /sliders/, /knobs etc.
-
- Directory:images
-
- All of the backdrops for the panels.
-
- SOURCE2: Directory:SOURCE
-
- CrossWord.s main source file,
- CWMake.s for when I ran low on memory in pre-1MB
- days, CrossWord.Hist (this file).
-
- Directory:INCLUDES
-
- CWClues.i
-
- CWDiscButtons.i
- CWDiscHandler.i
- CWDiscReq.i
-
- CWExtras.i
-
- CWFormat.i
-
- CWHelpCode.i
-
- CWImage1.i ;these are
- CWImage2.i ;utterly HUGE!
- CWImage3.i
-
- CWInfoReq.i
- CWInfoTexts.i
-
- CWMenus.i
-
- CWNewReq.i
-
- CWQueryReq.i
- CWReqHandler.i
-
- CWSolutions.i
-
- my_dos.i
- my_exec.i
- my_graf.i
- my_icon.i
- my_intuition.i
-
-
- Total:172 files in 18 directories on 3 discs. Space left on discs is:
-
- VOL21: about 111K
-
- VOL14: 17K !!!
-
- SOURCE2: 10K!!!
-
-
-
-
-